sed yardimi ne demek?

# sed (Stream Editor) Hakkında Bilgi

**sed**, metin dosyaları üzerinde arama, değiştirme, silme ve ekleme gibi işlemleri gerçekleştirmek için kullanılan güçlü bir komut satırı aracıdır. Temel olarak, bir metin akışını (stream) satır satır okur ve belirtilen komutları uygular. Bu sayede, dosyayı değiştirmeden çıktıyı yeniden yönlendirebilir veya dosyayı doğrudan güncelleyebilirsiniz.

**Temel Kullanım:**

```bash
sed 'komut' dosya_adı

Komutlar:

sed'in en yaygın kullanılan komutları şunlardır:

  • s (Substitute - Değiştirme): Metindeki belirli bir deseni başka bir desenle değiştirir. Bu, Düzenli İfadeler (Regular Expressions) kullanılarak daha da geliştirilebilir.

    • Örnek: sed 's/eski_metin/yeni_metin/g' dosya.txt (dosya.txt içindeki tüm "eski_metin"leri "yeni_metin" ile değiştirir). g (global) bayrağı, satırdaki tüm eşleşmeleri değiştirir.
  • d (Delete - Silme): Belirli satırları veya desene uyan satırları siler.

    • Örnek: sed '2d' dosya.txt (dosya.txt'in 2. satırını siler).
    • Örnek: sed '/desen/d' dosya.txt (içinde "desen" geçen tüm satırları siler).
  • a (Append - Ekleme): Belirli bir satırdan sonra metin ekler.

    • Örnek: sed '2a Yeni satır' dosya.txt (dosya.txt'in 2. satırından sonra "Yeni satır" ekler).
  • i (Insert - Ekleme): Belirli bir satırdan önce metin ekler.

    • Örnek: sed '2i Yeni satır' dosya.txt (dosya.txt'in 2. satırından önce "Yeni satır" ekler).
  • p (Print - Yazdırma): Satırı yazdırır. Genellikle -n (sessiz) seçeneğiyle birlikte kullanılır, aksi takdirde her satır iki kez yazdırılır.

    • Örnek: sed -n '2p' dosya.txt (dosya.txt'in 2. satırını yazdırır).
    • Örnek: sed -n '/desen/p' dosya.txt (içinde "desen" geçen tüm satırları yazdırır).

Seçenekler:

  • -i (In-place - Yerinde): Dosyayı doğrudan değiştirir. Dikkatli kullanın, çünkü orijinal dosya kalıcı olarak değiştirilir!

    • Örnek: sed -i 's/eski/yeni/g' dosya.txt (dosya.txt içindeki "eski" kelimesini "yeni" ile değiştirir ve dosyayı kaydeder). -i.yedek şeklinde kullanırsanız, değişiklik yapmadan önce dosyanın bir yedeğini .yedek uzantısıyla oluşturur.
  • -n (Quiet - Sessiz): Varsayılan olarak sed, her satırı hem okur hem de yazdırır. -n seçeneği bu davranışı engeller, sadece komutlar tarafından belirtilen satırların yazdırılmasını sağlar.

  • -e (Expression - İfade): Birden fazla komut çalıştırmak için kullanılır.

    • Örnek: sed -e 's/a/b/g' -e 's/c/d/g' dosya.txt (Önce "a"ları "b" ile, sonra "c"leri "d" ile değiştirir).

Adresleme:

sed komutları belirli satırlar üzerinde çalıştırılabilir. Bu, satır numaraları veya Desen Eşleştirme (Pattern Matching) ile yapılabilir.

  • Satır Numarası: sed '2,5d' dosya.txt (2. ile 5. satırları siler).
  • Desen: sed '/^#/d' dosya.txt (başında '#' olan satırları siler).

Diğer Kullanımlar:

  • Grup Yakalama (Grouping and Capturing): Düzenli ifadelerle eşleşen metinlerin belirli bölümlerini yakalayarak değiştirmede kullanabilirsiniz.
  • Backreference: Yakalanan gruplara referans vermek için kullanılır.
  • Dosyaya Yazma: w komutu kullanılarak, seçilen satırlar bir dosyaya yazılabilir.

sed, sistem yöneticileri, yazılım geliştiriciler ve metin işleme görevleriyle uğraşan herkes için vazgeçilmez bir araçtır. Özellikle büyük metin dosyalarında hızlı ve otomatik değişiklikler yapmak için idealdir. Kabuk Programlama (Shell Scripting) içerisinde sıklıkla kullanılır.